До сегодняшнего дня Intel не распространялась о деталях архитектуры процессоров Skylake, хотя на рынок уже вышли два настольных процессора Core i7-6700K и Core i5-6600K, которые мы протестировали. Сегодня в Сан-Франциско начался ежегодный Форум Intel для разработчиков, на котором мы ожидаем подробностей об изменениях, произошедших в архитектуре Skylake. Intel пока что опубликовала документацию о вычислительной архитектуре Intel Processor Graphics Gen9, ниже мы приведем основную информацию. Напомним, что в обоих представленных процессорах Skylake используется графическое ядро Intel HD Graphics 530.
Сразу же хотелось бы отметить много общего с архитектурой Graphics Gen8. Но Intel, между тем, внесла некоторые изменения во внутреннюю структуру и соединения, обеспечивающие гибкость Gen9. Теперь можно создавать конфигурации с тремя блоками Slice по три Subslice каждый, что даёт 72 исполнительных блока EU в процессоре Skylake. Ранее в процессорах Broadwell максимум составлял 48 EU, на треть меньше. Также Intel оптимизировала домены частот и технологию Power Gating, так что графическое ядро Gen9 будет ещё более эффективным. Особое внимание Intel уделила низкому энергопотреблению при воспроизведении разных кодеков.
Кроме более широкой и эффективной конструкции Graphics Gen9 Intel внесла некоторые архитектурные изменения – в частности, в иерархию памяти. Благодаря новым технологиям кэширования и Last Level Cache (LLC) производительность записи в когерентную память Shared Virtual Memory (SVM) существенно увеличилась. Кэш L3 был увеличен до 768 кбайт, из которых 512 кбайт выделены на данные приложений (Application Data). Чтобы ускорить запросы в кэш и память, Intel расширила ширину запросов. Таким образом можно увеличить число запросов к памяти, снизив задержки и увеличив пропускную способность.
В Graphics Gen9 опциональная память EDRAM работает в качестве дополнительного кэша между LLC и DRAM. Контроллер памяти EDRAM был перенесен на System Agent, где он получил прямое подключение к контроллеру дисплея. Таким образом сокращен путь и задержки до представления кадра на дисплее, возможны и дополнительные опции энергосбережения благодаря многократной подаче кадра напрямую из EDRAM без дополнительных расчетов на GPU. Текстуры поддерживаются в формате NV12 YUV, что должно ускорить взаимодействие между Compute API и так называемыми Media Fixed Function Units.
Серьёзные изменения произошли в сфере вычислительных функций. Технология Preemption теперь поддерживается на уровне потоков, вычислительные потоки Compute Threads могут предварительно просчитываться уже во время выполнения, останавливаться и запускаться снова. Intel Graphics Gen9 теперь поддерживает 32-битные Float Atomics. То есть композиции отдельных операций, которые будут рассматриваться единым логическим блоком с единым результатом операций (положительный или отрицательный). Над этим блоком могут выполняться логические операции Min, Max, Compare и Exchange.
Как мы уже упомянули, с конструкцией отдельных исполнительных блоков EU и более крупных блоков Subslice и Slice изменений не произошло. Разве что Intel позволила создавать конфигурацию из трёх блоков Slice с тремя Subslice в каждом, что обеспечивает Skylake 72 исполнительными блоками EU. Но таких процессоров пока не представлено.
Номинально производительность конфигурации с 24 EU не изменилась. Графические ядра Graphics Gen8 и Gen9 могут в данной конфигурации работать со 168 потоками с 5.376 включениями. Общий кэш L3 в Gen9 увеличился до 512 кбайт, хотя у Gen8 его размер составлял 384 кбайт. Размер LLC теперь может меняться от 2 до 8 Мбайт, ранее диапазон составлял от 4 до 8 Мбайт. Чистая вычислительная производительность Gen8 и Gen9 в теории идентична. Intel говорит о 384 FLOPS/такт при работе с 32-битными числами Float, 96 FLOPS/такт при работе с 64-битными числами Double Float и 192 IOPS/такт при работе с 32-битными целыми числами.